<?php
namespace app\admin\controller;
use think\Controller;
use think\Db;
use think\Session;
use think\Request;

/**
 * 后台基类
 */
class Admincontroller extends Controller
{

	public function _initialize()
	{
        // 初始化登录限制
		if(empty(Session::get('admin'))){
			$this->error('请先登录',url('admin/login/index'));
        }

        // 请求系统常量 控制器名 和 方法名
        $request = Request::instance();
        $mname = $request->controller();
        $aname = $request->action();

        // echo $mname.'|'.$aname;

        // 将获得的所有控制器和方法存入session
        $qx = Session::get('qx');

        // RBAC核心 不存在控制器 或者 方法名不在数组中 的限制
        if(Session::get('admin') != 'admin') {
            if(empty($qx[$mname]) || !in_array($aname,$qx[$mname])) {
                if($mname == 'Login' || $aname == 'dologin') {
                    $this->error('无后台权限',url('admin/login/index'));
                }
                $this->error('无权限');
            }
        }
	}
}
